﻿using System;
using System.Web.UI.WebControls;
using Z16.BLI;
using System.Data;

namespace Z16.SITE
{
    public partial class ListarAtividade : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if ((Session["CodPerfil"] == null) || (Session["CodUsr"] == null))
                {
                    Response.Write("<script>window.location=\'Login.aspx';</script>");
                    return;
                }

                long? codAtividade = null;

                if (Request.QueryString["id"] != null && Request.QueryString["id"] != "")
                        codAtividade = long.Parse(Request.QueryString["id"]);

                long? codDemanda = null;

                if (Request.QueryString["idDemanda"] != null && Request.QueryString["idDemanda"] != "")
                    codDemanda = long.Parse(Request.QueryString["idDemanda"]);

                Session["CodDemanda"] = codDemanda;

                CarregarAtividades(codDemanda, codAtividade,null,null,null,null,null);
            }
        }

        private DataTable CarregarAtividades(long? CodDemanda, long? codAtividade, string nmAtividade, DateTime? dtIni, DateTime? dtFim, int? codStatus, int? codPrio)
        {
            Atividade atividade = new Atividade();
            DataTable tabela = null;

            try
            {
                tabela = atividade.listarAtividades(CodDemanda,codAtividade,nmAtividade,dtIni,dtFim,codStatus,codPrio);
                GridView1.DataSource = tabela;
                GridView1.DataBind();
            }
            catch (Exception ee)
            {
                lblMensagem.Text = ee.Message;
            }
            finally
            {
                atividade = null;
            }
            return tabela;
        }

        protected void ExcluirAtividade(object sender, GridViewDeleteEventArgs e)
        {
            int AtividadeID = Int32.Parse(GridView1.DataKeys[e.RowIndex].Value.ToString());

            Atividade atividade = new Atividade();
            try
            {
                //atividade.ExcluirAtividade(AtividadeID);

                lblMensagem.Text = "Registro deletado com sucesso.";
                GridView1.DataSource = atividade.listarAtividades(long.Parse(Request.QueryString["id"]),null,null,null,null,null,null);
                GridView1.DataBind();
            }
            catch (Exception ee)
            {
                lblMensagem.Text = ee.Message;
            }
        }

        protected void btnNovaAtividade_Click(object sender, EventArgs e)
        {

            int? codDemanda = null;

            if (Request.QueryString["id"] != null)
                codDemanda = int.Parse(Request.QueryString["id"]);

            Response.Redirect("addCadAtividade.aspx?idDemanda=" + codDemanda);
        }

        protected void btnPesquisar_Click(object sender, EventArgs e)
        {
            long? codAtividade = null;

            if (Request.QueryString["id"] != null && Request.QueryString["id"] != "")
                codAtividade = long.Parse(Request.QueryString["id"]);

            long? codDemanda = null;

            if (Request.QueryString["idDemanda"] != null && Request.QueryString["idDemanda"] != "")
                codDemanda = long.Parse(Request.QueryString["idDemanda"]);

            Session["CodDemanda"] = codDemanda;

            DateTime? dtIni = null;
            if (txtDataIni.Text != "")
                dtIni = DateTime.Parse(txtDataIni.Text);

            DateTime? dtFim = null;
            if (txtDataFim.Text != "")
                dtFim = DateTime.Parse(txtDataFim.Text);

            int? codStatus = null;
            if (ddlStatus.SelectedValue != "")
                codStatus = int.Parse(ddlStatus.SelectedValue);

            int? codPrio = null;
            if (ddlStatus.SelectedValue != "")
                codPrio = int.Parse(ddlPrioridade.SelectedValue);

            try
            {
                CarregarAtividades(codDemanda, codAtividade, txtAtividade.Text, dtIni, dtFim, codStatus, codPrio);
            }
            catch (Exception ee)
            {
                lblMensagem.Text = ee.Message;
            }
           
        }
    }
}